API Routes এবং Parameters হল ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে গুরুত্বপূর্ণ উপাদান। API Routes হল URL পাথ যেখানে ওয়েব সার্ভিসের মাধ্যমে ডাটা আদান-প্রদান করা হয়, এবং Parameters হল সেই URL পাথের অংশ যেগুলি ডাইনামিক ডাটা (যেমন আইডি, কুয়েরি প্যারামিটার) ধারণ করে যা API এর কার্যকলাপকে প্রভাবিত করে।
Node.js এবং Express ব্যবহার করে API Routes তৈরি এবং Parameters ব্যবহার করা সহজ এবং কার্যকরী।
১. API Routes
API Routes হল URL পাথ যেখানে HTTP রিকোয়েস্ট (GET, POST, PUT, DELETE) পাঠানোর মাধ্যমে ডাটা প্রসেস বা পরিচালনা করা হয়। Express ব্যবহার করে API Routes তৈরি করা হয়। API রাউটের মাধ্যমে ডেটা একটি নির্দিষ্ট URL পাথে পাঠানো বা গ্রহণ করা যায়, যা ডাইনামিকভাবে ইউজারের রিকোয়েস্টের উপর ভিত্তি করে প্রক্রিয়াকৃত হয়।
Express এ API Routes তৈরি করা
- GET রিকোয়েস্ট: ডাটাবেস বা অন্য কোনও ডাটা সোর্স থেকে ডাটা পড়তে।
- POST রিকোয়েস্ট: ডাটা তৈরি বা আপলোড করতে।
- PUT রিকোয়েস্ট: বিদ্যমান ডাটাকে আপডেট করতে।
- DELETE রিকোয়েস্ট: ডাটা মুছে ফেলতে।
const express = require('express');
const app = express();
// JSON পার্স করার জন্য middleware
app.use(express.json());
// GET রিকোয়েস্টের মাধ্যমে ডাটা পড়া
app.get('/api/users', (req, res) => {
res.json([{ name: 'John Doe', age: 30 }, { name: 'Jane Doe', age: 25 }]);
});
// POST রিকোয়েস্টের মাধ্যমে ডাটা তৈরি করা
app.post('/api/users', (req, res) => {
const newUser = req.body;
// নতুন ইউজারকে ডাটাবেসে সংরক্ষণ করা হবে (এখানে শুধু ডাটা ফিরিয়ে দিচ্ছি)
res.status(201).json(newUser); // 201 - Created
});
// PUT রিকোয়েস্টের মাধ্যমে ডাটা আপডেট করা
app.put('/api/users/:id', (req, res) => {
const userId = req.params.id; // URL প্যারামিটার থেকে আইডি নেওয়া
const updatedUser = req.body;
res.json({ id: userId, ...updatedUser }); // আপডেট করা ডাটা ফিরিয়ে দেওয়া
});
// DELETE রিকোয়েস্টের মাধ্যমে ডাটা মুছে ফেলা
app.delete('/api/users/:id', (req, res) => {
const userId = req.params.id;
res.status(200).send(`User with id ${userId} deleted`); // সফলভাবে ইউজার ডিলিটের বার্তা
});
// সার্ভার চালু করা
app.listen(3000, () => {
console.log('Server running at http://localhost:3000');
});এখানে, /api/users রাউটটি GET, POST, PUT, এবং DELETE রিকোয়েস্ট হ্যান্ডল করছে।
২. Parameters (প্যারামিটারস)
Parameters হল ডাটা যা URL পাথ বা রিকোয়েস্টের সাথে যুক্ত থাকে। Express এ মূলত তিন ধরনের প্যারামিটার ব্যবহৃত হয়:
- Route Parameters (Path Parameters)
- Query Parameters
- Body Parameters
১. Route Parameters (Path Parameters)
এগুলি URL পাথের অংশ হিসাবে ব্যবহৃত হয় এবং ডাইনামিকভাবে URL এর মধ্যে পাস করা হয়। এগুলি কলব্যাক ফাংশনের মাধ্যমে req.params এ অ্যাক্সেস করা যায়।
উদাহরণ:
// URL প্যারামিটার দিয়ে রাউট তৈরি করা
app.get('/api/users/:id', (req, res) => {
const userId = req.params.id; // `id` প্যারামিটারটি URL থেকে নেওয়া হচ্ছে
res.send(`User ID is ${userId}`);
});এখানে, /api/users/:id রাউটটি একটি ডাইনামিক id প্যারামিটার গ্রহণ করে, যা ইউজারের ID হিসেবে ব্যবহার করা হচ্ছে।
২. Query Parameters
Query Parameters URL এর শেষে ? চিহ্নের পরে কীবোর্ড প্যারামিটার হিসেবে পাঠানো হয় এবং এটি req.query অবজেক্টের মাধ্যমে অ্যাক্সেস করা যায়। সাধারণত, কুয়েরি প্যারামিটার ফিল্টারিং বা সার্চের জন্য ব্যবহৃত হয়।
উদাহরণ:
// কুয়েরি প্যারামিটার দিয়ে রাউট তৈরি করা
app.get('/api/users', (req, res) => {
const { name, age } = req.query; // কুয়েরি প্যারামিটার থেকে ডাটা নেওয়া
res.send(`Search users with name: ${name} and age: ${age}`);
});এখানে, /api/users?name=John&age=30 এই URL দিয়ে ইউজারের নাম এবং বয়স অনুসারে ডাটা ফেরত আসবে।
৩. Body Parameters
Body Parameters সাধারণত POST, PUT, অথবা PATCH রিকোয়েস্টের মাধ্যমে পাঠানো হয়। এগুলি req.body এর মাধ্যমে অ্যাক্সেস করা যায়। Body প্যারামিটার সাধারণত ফর্ম ডাটা বা JSON ডাটা হিসেবে আসে।
উদাহরণ:
// POST রিকোয়েস্টের মাধ্যমে body প্যারামিটার পাঠানো
app.post('/api/users', (req, res) => {
const newUser = req.body; // Body থেকে ইউজারের ডাটা নেওয়া
res.status(201).send(newUser); // নতুন ইউজারের ডাটা ফিরিয়ে দেওয়া
});এখানে, ক্লায়েন্ট সাইডে POST রিকোয়েস্টের মাধ্যমে JSON ডাটা পাঠানো হবে, যেমন:
{
"name": "John",
"age": 30
}৩. Combination of Parameters
কখনও কখনও URL পাথ, কুয়েরি প্যারামিটার এবং বডি প্যারামিটার একসাথে ব্যবহার করা হয়। উদাহরণস্বরূপ, একটি ইউজারের ডাটা আপডেট করতে URL পাথ থেকে id প্যারামিটার এবং body থেকে নতুন ডাটা নেওয়া হতে পারে।
উদাহরণ:
app.put('/api/users/:id', (req, res) => {
const userId = req.params.id; // URL পাথ থেকে id প্যারামিটার
const updatedData = req.body; // Body থেকে আপডেট করা ডাটা
res.send(`User with ID ${userId} updated with data: ${JSON.stringify(updatedData)}`);
});এখানে, /api/users/:id URL পাথের মাধ্যমে একটি নির্দিষ্ট ইউজারের ID নেয় এবং তার পরবর্তী ডাটা req.body থেকে নেয়।
সারাংশ
- API Routes হল URL পাথ যা HTTP রিকোয়েস্টের মাধ্যমে ডাটা আদান-প্রদান এবং কার্যক্রম পরিচালনা করে।
- Parameters URL পাথ বা রিকোয়েস্টের অংশ হিসেবে ডাটা প্রদান করে এবং এটি তিন ধরনের হতে পারে:
- Route Parameters (Path Parameters): URL পাথের অংশ হিসেবে।
- Query Parameters: URL পাথের পরে
?চিহ্নের মাধ্যমে পাঠানো হয়। - Body Parameters:
POST,PUT, বাPATCHরিকোয়েস্টের মাধ্যমে পাঠানো হয়।
- Express এ
req.params,req.query, এবংreq.bodyএর মাধ্যমে প্যারামিটারগুলো অ্যাক্সেস করা হয়।
Read more